/**
 * 
 */
package com.jushu.storbox.database;

import android.database.sqlite.SQLiteDatabase;

/**
 * base data access
 * 
 */
public interface IBaseDao {
	
	public final static String FIELD_ID = "fid";
	public final static String id = "id";
	/**
	 * TEXT server side file or folder full path
	 */
	public final static String server_path = "server_path";
	/**
	 * TEXT file/folder name
	 */
	public final static String file_name = "file_name"; 
	public final static String fodler_name = "folder_name"; 
	/**
	 * // INTEGER 0：folder、1：file
	 */
	public final static String is_file = "is_file";
	/**
	 * // TEXT parent id
	 */
	public final static String parent_folder_id = "parent_folder_id";
	/**
	 * TEXT server side file MD5
	 */
	public final static String file_md5 = "file_md5";
	/**
	 * INTEGER folder：file total size、file：file size
	 */
	public final static String file_size = "file_size";
	/**
	 * INTEGER server side create time
	 */
	public final static String server_ctime = "server_ctime";
	/**
	 * INTEGER server side modify time
	 */
	public final static String server_mtime = "server_mtime";
	/**
	 * TEXT local full path
	 */
	public final static String local_path = "local_path";
	/**
	 * TEXT upload full path
	 */
	public final static String upload_path = "upload_path";
	/**
	 * INTEGER client side create time
	 */
	public final static String client_ctime = "client_ctime";//
	/**
	 * INTEGER client side modify time
	 */
	public final static String client_mtime = "client_mtime";
	/**
	 * INTEGER file static status
	 */
	public final static String static_status = "static_status";
	
	public final static String content_sync_status = "content_sync_status";
	/**
	 * INTEGER 0 no download，1 wait download    2. downloading    3.download finished    4.pause   5.stop
	 */
	public final static String trans_status = "trans_status";//
	/**
	 * trans_status_ref_cn INTEGER
	 * sync state,init value :0, 
	 * if it is not zero,then the state is syncing
	 */
	public final static String trans_status_ref_cnt = "trans_status_ref_cnt";//
	/**
	 * the flag for sync of server side and client side ,if compare finish,then the flag of zero(0) will be deleted.
	 * then all flag reset to zero(0)
	 */
	public final static String is_exist = "is_exist";//
	/**
	 * TEXT client side file MD5
	 */
	public final static String file_true_md5 = "file_true_md5";
	/**
	 * INTEGER; client side last open/view time
	 */
	public final static String local_operation_time = "local_operation_time";
	/**
	 * INTEGER client side last modify time
	 */
	public final static String local_last_modify_time = "local_last_modify_time";
	public final static String description = "description";
	/**
	 * etag
	 */
	public final static String file_etag = "file_etag";
	/**
	 * file_sha1
	 */
	public final static String file_sha1 = "file_sha1";
	/**
	 * extend identity
	 */
	public final static String extend_identity = "extend_identity";
	/**
	 * file_version
	 */
	public final static String file_version = "file_version";
	
	public final static String owner_by = "owner_by";
	public final static String isshare = "isshare";
	
	public final static String isshare_link = "isshare_link";
	public final static String isencrypt = "isencrypt";
	/**
	 * sync state 0:false 1:true
	 */
	public final static String isSync = "issync";
	/**
	 * last refresh time,only valid for folder
	 */
	public final static String last_refresh_time = "last_refresh_time";

	/**
	 * icon path
	 */
	public final static String fileIcon = "file_icon";
	public final static String changed_folderId = "changed_folderId";
	public SQLiteDatabase getDb();

	/**
	 * @param db
	 */
	public void setDb(SQLiteDatabase db);
	/**
	 * @param objectId
	 */
	public long getLastUpdateTime(String objectId);
	/**
	 * @param objectId
	 */
	public void updateLastUpdateTime(String objectId);
	public final static String shareDepartment = "share_department";
	public final static String inodeid = "inodeid";
	public final static String modifiedAt = "modified_at";
	public final static String modified_by = "modified_by";
	public final static String ownerId = "owner_id";
	public final static String ownerName = "owner_name";
	public final static String toleName = "role_name";
	public final static String sharedUserId = "shared_userId";
	public final static String sharedUserLoginName = "shared_user_loginname";
	public final static String sharedUserName = "shared_user_name";
	public final static String sharedUserType = "shared_user_type";
	public final static String type = "type";
	public final static String status = "status";
	public final static String roleName = "role_name";
	public final static String notify_id = "notify_id";
	/**
	 * upload and download file progress
	 */
	public final static String current_progress = "current_progress";
	/**
	 * objeckId ,for continue download
	 */
	public final static String objectID = "object_id";
	public final static String current_size = "current_size";
	public final static String current_index = "current_index";
	public final static String lastUpdateDate = "last_update_date";
	public final static String department ="department";
	public final static  String user_modifiedAt ="user_modifiedAt";
	public final static  String domain = "domain";
	public final static  String email= "email";
	public final static  String user_id= "user_id";
	public final static  String loginName= "loginName";
	public final static  String name= "name";
    public final static  String objectSid= "objectSid";
    public final static  String recycleDays= "recycleDays";
    public final static  String regionId= "regionId";
    public final static  String spaceQuota= "spaceQuota";
    public final static  String spaceUsed= "spaceUsed";
    public final static  String user_status= "user_status";
    public final static  String user_type= "user_type";
    
    /**
	 * 团队空间使用字段
	 * */
	public final static String TEAM_ID = "tid";
	public final static String current_numbers = "current_numbers";
	public final static String created_at = "created_at";
	public final static String created_by = "created_by";
	public final static String created_by_name = "created_by_name";
	public final static String space_quota = "space_quota";
	public final static String space_used = "space_used";
	public final static String max_version = "max_version";
	public final static String max_members = "max_members";
	public final static String memberships_id = "memberships_id";
	public final static String teamspace_id = "teamspace_id";
	public final static String teamspace_name = "teamspace_name";
	public final static String team_role = "team_role";
	public final static String role = "role";
}
